package com.example.demo.proc.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 流程任务信息表
 * @TableName proc_task_info
 */
@TableName(value ="proc_task_info")
@Data
public class ProcTaskInfo implements Serializable {
    /**
     * 自增主键,任务编号
     */
    @TableId(type = IdType.AUTO)
    private Long taskId;

    /**
     * 业务唯一编号
     */
    private String businessKey;

    /**
     * 任务键
     */
    private String taskKey;

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 子任务名称
     */
    private String taskSubName;

    /**
     * 流程运行编号
     */
    private Long procRuId;

    /**
     * 流程定义编号
     */
    private Long procDeId;

    /**
     * 任务链
     */
    private String taskChain;

    /**
     * 任务受理人
     */
    private String taskAssignee;

    /**
     * 任务候选人
     */
    private String taskCandidate;

    /**
     * 任务状态:-1:已退回,0未处理,1:已处理
     */
    private Integer taskState;

    /**
     * 上一个任务编号
     */
    private Long prevTaskId;

    /**
     * 处理意见
     */
    private Object taskOpinion;

    /**
     * 任务类型:0正常任务1退回任务
     */
    private Integer taskType;

    /**
     * 任务认领时间
     */
    private Date taskClaimTime;

    /**
     * 任务签收时间
     */
    private Date taskSignTime;

    /**
     * 任务是否强制签收
     */
    private Integer taskSignRequired;

    /**
     * 任务开始时间
     */
    private Date taskStartTime;

    /**
     * 任务结束时间
     */
    private Date taskEndTime;

    /**
     * 乐观锁，版本
     */
    @Version
    private Integer version;

    /**
     * 是否删除:0否1是
     */
    @TableLogic
    private Integer delFlag;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

}
